<template>
    <div class="app-container">
        <!-- 顶部 Header 区域 -->
        <mt-header fixed title="无锡极客营">
             <span slot="left" @click="goBack" v-show="flag">
                <mt-button icon="back">返回</mt-button>
              </span>
        </mt-header>

        <!-- 中间的 路由 router-view 区域 -->
        <transition :name="transitionName">
            <router-view></router-view>
        </transition>

        <!-- 底部 Tabbar 区域 -->
        <nav class="mui-bar mui-bar-tab">
            <router-link class="mui-tab-item-llb" to="/home">
                <span class="mui-icon mui-icon-home"></span>
                <span class="mui-tab-label">首页</span>
            </router-link>
            <router-link class="mui-tab-item-llb" to="/member">
                <span class="mui-icon mui-icon-contact"></span>
                <span class="mui-tab-label">会员</span>
            </router-link>
            <router-link class="mui-tab-item-llb" to="/shopcar">
            <span class="mui-icon mui-icon-extra mui-icon-extra-cart">
                <span id="badge" class="mui-badge">{{ $store.getters.getAllCount }}</span>
            </span>
                <span class="mui-tab-label">购物车</span>
            </router-link>
            <router-link class="mui-tab-item-llb" to="/search">
                <span class="mui-icon mui-icon-search"></span>
                <span class="mui-tab-label">搜索</span>
            </router-link>
        </nav>
    </div>
</template>

<script>
    export default {
        data() {
            return {
                flag: false,
                isBack:false,
                transitionName: 'slide-right'  // 默认动态路由变化为
            };
        },
        created() {
            this.flag = this.$route.path === "/home" ? false : true;
        },
        methods: {
            goBack() {
                this.isBack = true;
                // 点击后退
                this.$router.go(-1);
            }
        },
        watch: {
           '$route' (to, from) {
                let isBack = this.isBack  //  监听路由变化时的状态为前进还是后退
                console.log(isBack,to,from);
                if (isBack) {
                    this.transitionName = 'slide-right'
                } else {
                    this.transitionName = 'slide-left'
                }
                this.isBack = false
            },
            "$route.path": function(newVal) {
                if (newVal === "/home") {
                    this.flag = false;
                } else {
                    this.flag = true;
                }
            }
        }
    };
</script>



<style lang="scss" scoped>
    .app-container {
        padding-top: 40px;
        padding-bottom: 45px;
        overflow: hidden;
    }

    /*左边进入*/
    .slide-left-enter{
        -webkit-transform: translate(100%, 0);
        transform: translate(100%, 0);
    }
    /*左边离开*/
    .slide-left-leave-to{
        -webkit-transform: translate(-100%, 0);
        transform: translate(-100% 0);
        position: absolute;
    }

    /*右边进入*/
    .slide-right-enter {
        -webkit-transform: translate(-100%, 0);
        transform: translate(-100% 0);
    }
    /*右边离开*/
    .slide-right-leave-to {
        -webkit-transform: translate(100%, 0);
        transform: translate(100%, 0);
        position: absolute;
    }

    /*进入退出动画*/
    .slide-right-enter-active,
    .slide-left-enter-active,
    .slide-right-leave-active,
    .slide-left-leave-active {
        transition: all 0.5s ease;
    }

    * {
      touch-action: none;
    }

    /*该类名，解决tabbar 点击无法切换的问题*/
    .mui-bar-tab .mui-tab-item-llb.mui-active {
       color: #007aff;
    }



    .mui-bar-tab .mui-tab-item-llb {
        display: table-cell;
        overflow: hidden;
        width: 1%;
        height: 50px;
        text-align: center;
        vertical-align: middle;
        white-space: nowrap;
        text-overflow: ellipsis;
        color: #929292;
    }

    .mui-bar-tab .mui-tab-item-llb .mui-icon {
        top: 3px;
        width: 24px;
        height: 24px;
        padding-top: 0;
        padding-bottom: 0;
    }

    .mui-bar-tab .mui-tab-item-llb .mui-icon~.mui-tab-label {
        font-size: 11px;
        display: block;
        overflow: hidden;
        text-overflow: ellipsis;
    }
</style>
